Blog search

Friday Facts #22 - Biters strike back

Posted by Tomas on 2014-02-21

Hello Factoriods, last week we parted with a sad postcard of a biter dying after massacre on st. Valentines' day. Well they are tough fellas these biters so they got their claws sharpened, got some of their best boys together and set off for a revenge mission on the players' base. If you want to see them in action sweeping through a poorly protected oil expansion then check out the composition below. It was made by Albert, our fearless reporter from the Factorio planet. Now back to the Earth. Or more specifically Prague, yes that pretty city in the middle of Europe, where (among other wonderful things) the Factorio team is working day and night to deliver you the best build-factories-in-your-computer experience. And the day and night is not an overstatement. The "programming department" (me, kovarex and blue cube) usually works from something like 9 am to 7 pm. The working hours are VERY flexible. The part of the "working shift" is regular lunch with brainstorming at awesome local restaurant called The Carp in the honey (yeah no kidding - and they actually do serve the Carp in honey). The "art department" (Albert) has recently been in habit of working overnight. There are days when we chat in the morning after I wake up and he is just about to go to bed. Well the result is that sometimes (during very hectic days) we have a 24hr Factorio "development coverage". We do jokes about it, but it is definitely not something that we are proud or happy about. And actually it is getting better, in the early days we didn't do anything else then sit at home and code the game, nowadays the atmosphere is way more relaxed. Alright, so our efforts in the past week have been spent mostly on cutting down the massive list of bug reports that appeared after the Friday's 0.9 release. These efforts have culminated tonight by making the 0.9.1 bugfix release. While it fixes a lot of bugs we don't really expect it to become stable, namely after experiences from 0.7.x and 0.8.x generations :). Also some things are just not finished yet - like a migration of campaign or scenario pack to the new oil recipes. But if you were one of those who got corrupted saves from 0.9, chances are that this release will solve the problem for you. That is actually the reason why we tried to push it before the weekend. But as usual, no guarantees. We have been looking for someone to work on Factorio icons/items/technology images and graphic design in general for a while. It seems like we might have found such a person in the end. We will bring you more details when the deal is closed, for now it must suffice to say that the person is a she so Factorio could get a bit of a womans touch :). Also the rumors are that new assembling machine graphics are just around the corner, so stay tuned... No comments, no fun. Tell us what you think on our forum.

Friday Facts #63 - The endless struggle

Posted by kovarex on 2014-12-05

Hello, I'm turning 30 today. Few years ago, I was thinking, that I should achieve something great before I get 30. Now I work on Factorio, and I feel like this is the best position for me that could exist. I enjoy it very much and I feel that it also is the best learning experience I could hope for. I managed to not disappoint the younger me, and it makes me happy ... or maybe just less frustrated from the infinite queue of bugs waiting to be solved :)

Friday Facts #166 - Combat Revisit

Posted by Klonan on 2016-11-25

Hello,the hopefully final 0.14 version was recently released, meanwhile most of the team have been assigned their major tasks for 0.15.

Friday Facts #13

Posted by Tomas on 2013-12-20

Hello, another Friday means another update on what is happening here in the Factorio central in Prague. It doesn't really feel like the Christmas are actually around the corner. There is no snow (just cold) and the shopping spree / Christmas tree hunt doesn't really affect us that much:) Therefore the only clear signal that the year is coming to an end has been the Christmas concert we attended with Kovarex. The stabilization of the 0.8 has been our main topic for the past week. We have found and fixed many bugs ranging from little annoyances to serious game-crashing or save-corrupting beasts. The 0.8.1 contained a magical number of 42 bugfixes, but unfortunately some of the fixes brought in new bugs (this happens so often that it became a programming folklore). Therefore we made another bugfix release - the 0.8.2 which has been published today and so far it has been looking good. The way I put it sometimes, the bugfixing probably sounds like a boring / tedious work. Well there is not that much creativity involved, but it can get really interesting. It is like solving a puzzle or a small criminal case of your own. In the beginning you only have the problem. Then you are looking around, noticing small odities and other clues. If you need, you can use the debugger or debugging prints to get a glimpse of what is happening behind the curtains. You need to think a lot and picture how the different parts of the code interact and what could be going on. You make a hypothesis, test it and often ... find nothing. But in the end you get this AHAAA moment when everything becomes clear and the source of the problem is revealed. Actually fixing the bug is usually the simple part, once you have traced its origin. The AHAAA moment feels really good, it is like figuring out a riddle or solving a tricky math problem. Kuba started working on the biomes for the 0.9. The model he is using is taking into account two semi-independent variables: the temperature and the humidity. The noise of temperature and humidity is generated over the map, assigning a specific combination of values to every tile. The placement of terrain and doo-dads (trees, rocks, fauna, etc.) are driven by these two variables. For instance, the definition of plain green tree would say that it has the peak at humidity of 0.5 and temperature of 17 degrees. The probability distribution is then formed around this peak to determine whether the tree should be placed on a given tile (based on the tile's temperature and humidity values). In the end, based on these definitions, the different biomes should emerge (we are already curious if they do:)). Below there is an image which demonstrates the relationship between biomes and humidity / temperature. Albert is at the moment working on the doo-dads (new trees, rocks, plants, etc.) to give the environment a realistic feel. We have collected quite some feedback on the new logo direction in the past week. Personally, the biggest surprise to me has been that a lot of people would prefer the current logo to the old one. We still believe in the new logo and we will use the feedback from the forums and emails to improve it (experimenting with the color, increased readability, the wheel shape, etc.). The second post picture is called "The giant and the machines". It demonstrates the scale functionality of the engine that can be used to draw scaled pictures on the fly rather than scaling them first. This way the picture uses both less space on the drive (some mods are already bigger than the vanilla game:)) and less video memory. It was really funny to see the giant player walking around the tiny machines:) As always you can let us know what you think in the dedicated post on our forum.

Friday Facts #41 - Back to the MP

Posted by Tomas on 2014-07-04

Hi there, past couple of days have been absolutely wonderful back here in Prague. Pleasant temperatures, mild wind and summer atmosphere. This has made our free time moments even more enjoyable than usual. Another great thing is that our office is situated in an old and sturdy house. So it retains a reasonable temperature without any air conditioning even when it is 30+ celsius outside (not yet:)).

Friday Facts #193 - Party planning & plans

Posted by Klonan & V453000 on 2017-06-02

Hello, it has been a pretty hot week here in Prague, and we have finally wheeled-out and hooked-up our little air-conditioning unit, which has been making a valiant effort to keep the office cool.

Friday Facts #436 - Lost in Translation

Posted by Hrusa on 2024-11-08

Hello, We are still diligently working away at the Space Age bug reports.

Friday Facts #7

Posted by Tomas on 2013-11-08

Hi guys, we are back here for another Friday update. We marched through the "bugfix hell" to release the 0.7.5 as a stable version in the beginning of the weekend. This allowed us to clear our minds and completely focus on the next release in progress - the 0.8. The work on the new trailer is going well. The first prototype started a good discussion on the forum. We took a lot of points from that discussion and came up with an updated trailer. It is a very tiring job - keep iterating over the same 2 minutes over and over again, fixing small things, changing the timings, playing with the composition, etc. However the more work we invest in this, the more confident we get about it. Maybe it is a self-dellusion, or it is really getting better. We really want to get it right. One thing is for sure, the result will be on a completely different level than the old trailer. Since the majority of work is done we also got in touch with a French artist from Dijon, who will make the music for the trailer. So far, the reference music for us has been the lively jazz Twilight in Turkey by Raymond Scott. Today we had a good discussion about one of the upcoming features in the 0.8. Repairs and the repairing robots. For a long time there has been no concept of repair in the game. "Need to repair an almost destroyed turret? Sure, just mine it and build it again. Voila here it is - brand new, shiny and shooting." This will change. We came up with the following: There will be a new object - the repair kit. This will be a universal tool to repair anything. The repair kit will be produced from some low end materials (like iron plate + electronic circuit). The repair kit will be slowly consumed when used. The player can use the repair kit to repair anything by hand. This is nice, but it is not really a Factorio style. On top of that there will be repairing robots. These can use repair kits to repair anything that is broken. The solution to dispatching the repairing robots will be probably the same as the (yet not implemented) solution to dispatching the logistic robots. There will be a robot tower which will refuel the robots and provide a radio distance for them in which they can operate. By creating multiple of these towers the whole repair system can be automated. The first version will probably be without the robot tower to try the concept out. Oh and of course in the future the repair robots will be able to recreate destroyed objects:) One of the biggest changes in the 0.8 will be the new terrain. Maybe now it is a good time to briefly describe how it will be different. There are three main points: Everything from 3D - All the new terrains are based on Blender 3D models. This makes the tiling and creating multiple variations much easier because Albert can use the full power of Blender to change the surface shapes, add tileable noise or run the whole thing through a predefined transformation. He is definitely much happier doing this than fiddling the pixels (that is how the current terrain has been done). More variations - At the moment every terrain has only 4 variations of 1x1 tile. This makes an obvious "grid-like" look. The new terrain will challenge this flaw by having multiple tile sizes. At the moment these will be 1x1, 2x2 and 4x4 (the engine can also handle 8x8). The numbers of variations differ based on the terrain type, but on average it is like 16 for every tile size. This means that one kind of the terrain will consist of roughly 50 tiles. Different variations can be assigned different probabilities for the map generation. This will result in more natural look of the terrain. Biomes - We plan to introduce a concept of a biom. This is an area of the map where only certain terrains and certain doo-dads can appear (for instance green trees will not appear in the desert). It is not yet sure how much of this will be introduced in 0.8, but it is the direction we will take for the future. Of course making the terrain look better means a lot (a LOT) of work. Albert needs to come up with a good model and textures. Make sure they go along with other terrains and existing structures / machines. Then create enough variations, test the whole thing in the game itself and often iterate the whole process. At the moment he is working on the last terrain for this update - the water. This is especially tricky because of the lighting. He made a nice preview from his experiments. I think that the winner candidate is the blue looking one in the middle. You can find a thread for comments regarding this blog post a post on our forum.

Friday Facts #184 - Five years of Factorio

Posted by kovarex & Rseding on 2017-03-31

Today, it is exactly 5 years since the initial Factorio commit. As you may, or may not know, the first version was created in java, and it took me (kovarex) a whole 12 days to realize that it is not a good idea, and I switched to C++. As a small celebration I provide the Factorio pre-alpha version 0.1 . It is a good reminder of how much the game has moved forward in all directions. The controls are cumbersome, the graphics are funny and glitchy, the GUI is horrible. The campaign has 4 levels, where the last one is quite a challenging defense mission. There are also 2 savegames with one of the first Factorio Factories ever created.

Friday Facts #105 - The Grey Zone

Posted by Tomas on 2015-09-25

Hi folks, so this has been one of those weeks when it is suddenly Friday afternoon and you are wondering where did the week go. Fortunately there are the Friday Facts to put myself together and retrace the events=)) The Grey Zone At the moment we are kind of in a grey zone. The 0.12 bugs are more or less solved (though there is still some "popping up" of new issues) and the full speed work on 0.13 hasn't started yet (actually not even slow speed work has started). We are finishing with little (often technical debt) tasks from our internal lists. There is just ton of issues like: fixing locale fonts, updating tips and tricks, writing tests for compilcated existing functionality, tweaking our automatic deployment and testing setup, auto-generating the Lua API documentation, fixing sound glitches, etc. The list goes on. One of the tasks has been related to our headless binary. This is the binary to run on linux servers without graphics card. This is now available in the downloads section alongside other releases. There is a small convenience difference where by clicking the download, the resulting download link (from one of our cdn servers) is valid for 10 minutes (instead of regular 10 seconds) so the server owner can conveniently copy this url and download the game directly from the server. In the future we plan to have the updater work for headless servers as well so that will make things even more convenient. The good news is that the list of these little tasks is getting shorter. Also we have already more or less agreed on distribution of big tasks for the 0.13. These have been discussed in the past and are also visible at our roadmap. Some work on these should start already next week. We will keep you up to date=)